package com.stylefeng.guns.modular.netcar.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

@Data
@TableName("task_inf")
 /**
 * 任务单信息
 *
 * @author sasazaixian
 * @Date 2018-10-25 18:14
 * @TableField(exist = false) 实现属性与数据库字段不一一对应
 */
public class TaskInf extends Model<TaskInf> {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     * 自动生成后修改成实际的主键 
     */
    @TableId(value = "ti_id", type = IdType.UUID)
    @ApiModelProperty(value = "任务ID")
    private String tiId; //任务ID
    @Override
    protected Serializable pkVal() {
        return this.tiId;
    }
    
    //扩展能查询字段
    @TableField(exist = false) 
    private String key ;
    //开始日期
    @TableField(exist = false)     
    private String sdate;
    //截止日期 
    @TableField(exist = false) 
	private String edate;
    //排序字段
    @TableField(exist = false) 
	private String  sortField ;
	//排序	
	@TableField(exist = false) 
	private String sortOrder;

    //订单数组
    @TableField(exist = false)
    private String orderArry;

    //订单ID数组
    @TableField(exist = false)
    private String orderIdArry;

    //订单ID
    @TableField(exist = false)
    private String oiId;
    //扩展操作
    @TableField(exist = false)
    private String ope;

    @TableField(exist = false)
    private String dispatchState; //指派状态  0:为指派 1：已经指派

    @TableField(exist = false)
    private String dispather;//1 按照调度员所属线路查询
    @TableField(exist = false)
    private String dispatherLineIds;//调度员所属线路

    @ApiModelProperty(value = "驾驶员所属车企")
    @TableField(exist = false)
    private String driverOrg;//驾驶员所属车企

    @ApiModelProperty(value = "驾驶员所属车企名称")
    @TableField(exist = false)
    private String diOrgName;//驾驶员所属车企名称

    public void setKey(String key) {
		this.key = key;
	}
	public String getKey() {
		return key;
	}	
	public void setSortField(String sortField) {
		this.sortField = sortField;
	}
	public String getSortField() {
		return sortField;
	}
	public void setSortOrder(String sortOrder) {
		this.sortOrder = sortOrder;
	}
	public String getSortOrder() {
		return sortOrder;
	}
	public void setEdate(String edate) {
		this.edate = edate;
	}
	public String getEdate() {
		return edate;
	}
	public void setSdate(String sdate) {
		this.sdate = sdate;
	}
	public String getSdate() {
		return sdate;
	}

    @ApiModelProperty(value = "乘车人数")
    @TableField("ti_customer_count")
    private Integer tiCustomerCount;     //乘车人数

    @ApiModelProperty(value = "司机ID")
    @TableField("di_id")
    private String diId;     //司机ID

    @ApiModelProperty(value = "司机姓名")
    @TableField("di_name")
    private String diName;     //司机姓名

    @ApiModelProperty(value = "车牌号")
    @TableField("di_vehicle_plate")
    private String diVehiclePlate;     //车牌号

    @ApiModelProperty(value = "驾驶员工号")
    @TableField("di_no")
    private String diNo;     //驾驶员工号

    @ApiModelProperty(value = "车辆编号")
    @TableField("di_vehicle_no")
    private String diVehicleNo;     //车辆编号

    @ApiModelProperty(value = "车队")
    @TableField("di_org")
    private Integer diOrg;     //车队

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;     //创建时间

    @ApiModelProperty(value = "创建人 乘客下单时 为空")
    @TableField("create_user")
    private String createUser;     //创建人 乘客下单时 为空

    @ApiModelProperty(value = "更新时间")
    @TableField("update_time")
    private Date updateTime;     //更新时间

    @ApiModelProperty(value = "更新人 乘客取消等操作时  为空")
    @TableField("update_user")
    private String updateUser;     //更新人 乘客取消等操作时  为空



    @ApiModelProperty(value = "抢单/派单时间")
    @TableField("ti_task_get_time")
    private Date tiTaskGetTime;     //抢单/派单时间


    @ApiModelProperty(value = "执行时间")
    @TableField("ti_start_time")
    private Date tiStartTime;     //执行时间

    @ApiModelProperty(value = "任务结束时间")
    @TableField("ti_end_time")
    private Date tiEndTime;     //任务结束时间

    @ApiModelProperty(value = "司机执行位置经纬度")
    @TableField("ti_start_point")
    private String tiStartPoint;     //司机执行位置经纬度

    @ApiModelProperty(value = "结单经纬度")
    @TableField("ti_end_point")
    private String tiEndPoint;     //结单经纬度

    @ApiModelProperty(value = "司机执行位置地址")
    @TableField("ct_start_address")
    private String ctStartAddress;     //司机执行位置地址

    @ApiModelProperty(value = "结束地址")
    @TableField("ct_end_address")
    private String ctEndAddress;     //结束地址

    @ApiModelProperty(value = "是否接单，0未接单，1已接单，2已完结")
    @TableField("ti_state")
    private String tiState;     //是否接单，0未接单，1已接单，2已完结

    @ApiModelProperty(value = "备注")
    @TableField("note")
    private String note;     //备注

    @ApiModelProperty(value = "是否发布 ：0:为发布 1 已发布")
    @TableField("ti_is_publish")
    private String tiIsPublish;     //是否发布 ：0:为发布 1 已发布

    @ApiModelProperty(value = "0:抢;1:派;2:自创并且抢")
    @TableField("ti_dispatch_type")
    private String tiDispatchType;     //0:抢;1:派;2:自创并且抢

    @ApiModelProperty(value = "承运费")
    @TableField("ti_price")
    private Double tiPrice;     //承运费

    @ApiModelProperty(value = "是否审核过 0：未审核1：审核")
    @TableField("ti_check_result")
    private String tiCheckResult;     //是否审核过 0：未审核1：审核

    @ApiModelProperty(value = "任务编号")
    @TableField("ti_code")
    private String tiCode; //任务编号

    @ApiModelProperty(value = "任务类型Code")
    @TableField("ot_id")
    private String otId; //任务类型Code

    @ApiModelProperty(value = "任务类型")
    @TableField("ot_name")
    private String otName; //任务类型


    @ApiModelProperty(value = "线路名称")
    @TableField("ol_name")
    private String olName; //线路名称

    @ApiModelProperty(value = "线路ID")
    @TableField("ol_id")
    private String olId; //线路ID 用户过滤线路

    @ApiModelProperty(value = "首接时间")
    @TableField("first_send_time")
    private Date firstSendTime; //首接时间

}
